05cc297459687696ef5ca4ee7e75c2c49817a5fe,javasrc/src/org/ccnx/ccn/impl/CCNNetworkChannel.java,CCNNetworkChannel,read,#number[]#number#number#,246

Before Change


	@Override
	public int read(byte[] b, int off, int len) throws IOException {
		int ret = 0;
		while (len > 0) {
			if (off + len >= b.length) {
				if (off >= b.length)
					break;
				len = b.length - off;
			}
			if (_datagram.hasRemaining()) {
				int size = _datagram.remaining() > len ? len : _datagram.remaining();
				_datagram.get(b, off, size);
				ret += len;
				off += size;
				len -= size;
			} else {
				int tmpRet = fill();
				if (tmpRet <= 0) {
					if (ret == 0)
						ret = tmpRet;
					break;
				}
			}
		}
		return ret;

After Change


		if (len > b.length - off) {
			throw new IndexOutOfBoundsException();
		}
		if (! _datagram.hasRemaining()) {
			int tmpRet = fill();
			if (tmpRet <= 0) {
				return tmpRet;